home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / chunker / source / machine.h < prev    next >
C/C++ Source or Header  |  1995-11-15  |  2KB  |  108 lines

  1. /*************************************************************************
  2.  *
  3.  * Chunker/DeChunk
  4.  *
  5.  * Copyright ©1995 Lee Kindness and Evan Tuer
  6.  * cs2lk@scms.rgu.ac.uk
  7.  *
  8.  * machine.h
  9.  *  Allows use of system specific functions => smaller code or just to use
  10.  *  ANSI functions.
  11.  */
  12.  
  13. #ifndef _MACHINE_H_
  14. #define _MACHINE_H_
  15.  
  16. /* Remove to compile on a WB 1.3 Amiga */
  17. #ifdef _AMIGA
  18. #define AMIGA
  19. #endif
  20.  
  21.  
  22. #ifdef AMIGA
  23. /* Lets be Amiga specific */
  24.  
  25. #include <exec/types.h>
  26. #include <exec/memory.h>
  27. #include <dos/dos.h>
  28.  
  29. #include <clib/exec_protos.h>
  30. #include <clib/dos_protos.h>
  31. #include <pragmas/exec_sysbase_pragmas.h>
  32. #include <pragmas/dos_pragmas.h>
  33.  
  34. extern struct ExecBase *SysBase;
  35. extern struct DosLibrary *DOSBase;
  36.  
  37. #define mprintf Printf
  38. typedef BPTR FILEt;
  39. #define FILEOPEN_READ MODE_OLDFILE 
  40. #define FILEOPEN_WRITE MODE_NEWFILE
  41. #define mfopen(F,M) Open(F,M)
  42. #define mfgetc(F) FGetC(F)
  43. #define mfputc(C,F) FPutC(F,C)
  44. #define mfclose(F) Close(F)
  45. #define mmalloc(S) AllocVec(S, 0)
  46. #define mfree(P) FreeVec(P)
  47. void msprintf(char *buffer, char *format, ...);
  48.  
  49. #else /* AMIGA */
  50. /* Use ANSI functions */
  51.  
  52. #include <stdio.h>
  53. #include <stdlib.h>
  54.  
  55. #define mprintf printf
  56. typedef FILE *FILEt;
  57. #define FILEOPEN_READ "rb"
  58. #define FILEOPEN_WRITE "wb"
  59. #define mfopen(F,M) fopen(F,M)
  60. #define mfgetc(F) fgetc(F)
  61. #define mfputc(C,F) fputc(C,F) 
  62. #define mfclose(F) fclose(F)
  63. #define mmalloc(S) malloc(S)
  64. #define mfree(P) free(P)
  65. #define msprintf sprintf
  66.  
  67. #endif /* AMIGA */
  68.  
  69.  
  70. #ifdef __TURBOC__
  71.  
  72. #pragma warn -pia
  73.  
  74. #endif /* __TURBOC__ */
  75.  
  76.  
  77. struct Args
  78. {
  79.     char          *arg_Filename;
  80.     char          *arg_Basename;
  81.     unsigned long  arg_Size;
  82. #ifdef AMIGA
  83.     struct RDArgs *arg_RAHandle;
  84. #endif /* AMIGA */
  85. };
  86.  
  87. int InitSystem( void );
  88. void FreeSystem( void );
  89.  
  90.  
  91. #ifdef __CHUNKER_H__
  92.  
  93. struct Args *GetChunkerArgs(int argc, char **argv);
  94. void FreeChunkerArgs(struct Args *args);
  95.  
  96. #endif /* __CHUNKER_H__ */
  97.  
  98.  
  99. #ifdef __DECHUNK_H__
  100.  
  101. struct Args *GetDeChunkArgs(int argc, char **argv);
  102. void FreeDeChunkArgs(struct Args *args);
  103.  
  104. #endif /* __DECHUNK_H__ */
  105.  
  106.  
  107. #endif /* _MACHINE_H_ */
  108.